local status_ok, project = pcall(require, "project_nvim")
if not status_ok then
  print('project load error')
  return
end

-- The problem of load telescope fails is duplicate name
-- put your config into a sub dir solves this problem
local tele_ok, telescope = pcall(require, "telescope")
if not tele_ok then
  print('telescope load error')
  return
end

vim.api.nvim_set_keymap('n', '<leader>ff', ':Telescope find_files<CR>', {noremap = true, silent = true})
vim.api.nvim_set_keymap('n', '<leader>fb', ':Telescope buffers<CR>', {noremap = true, silent = true})
vim.api.nvim_set_keymap('n', '<leader>rg', ':Telescope live_grep<CR>', {noremap = true, silent = true})
vim.api.nvim_set_keymap('n', '<leader>fh', ':Telescope help_tags<CR>', {noremap = true, silent = true})

project.setup({
  -- @usage set to false to disable project.nvim.
  -- This is on by default since it's currently the expected behavior.
  active = true,

  on_config_done = nil,

  -- @usage set to true to disable setting the current-woriking directory
  -- Manual mode doesn't automatically change your root directory, so you have
  -- the option to manually do so using `:ProjectRoot` command.
  manual_mode = false,

  -- @usage Methods of detecting the root directory
  -- Allowed values: **"lsp"** uses the native neovim lsp
  --- **"pattern"** uses vim-rooter like glob pattern matching. Here
  -- order matters: if one is not detected, the other is used as fallback. You
  -- can also delete or rearangne the detection methods.
  -- detection_methods = { "lsp", "pattern" }, -- NOTE: lsp detection will get annoying with multiple langs in one project
  detection_methods = { "pattern" },

  -- @usage patterns used to detect root dir, when **"pattern"** is in detection_methods
  patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json" },

  -- @ Show hidden files in telescope when searching for files in a project
  show_hidden = false,

  -- @usage When set to false, you will get a message when project.nvim changes your directory.
  -- When set to false, you will get a message when project.nvim changes your directory.
  silent_chdir = true,

  -- @usage list of lsp client names to ignore when using **lsp** detection. eg: { "efm", ... }
  ignore_lsp = {},

  -- @type string
  -- @usage path to store the project history for use in telescope
  datapath = vim.fn.stdpath("config"),
})

telescope.load_extension('projects')
